The field of the present invention concerns dynamically generating a data model for a report, and, more particularly, generating the model responsive to user selected portions of source data.
In a database context, dimensions are defined that categorize and label data elements. The dimensions also provide a structure that enables filtering (also known as “slicing”) and grouping (also known as “dicing”) of the data elements. Commonly used dimensions categorize each data element according to its relation to people, products, place and time, for example. A numerical data element, which may be referred to as a “measure” or a “metric,” is related to other data elements in the database by the defined dimensions. One measure may be a sales figure, for example, such as number of units or dollar amount of products sold. It is common that a sales measure is associated with customer and product dimensions, for example, wherein for each sale a customer buys a product. Organization of sales measures by these dimensions allows filtering the sales to in order to present sales for selected customers and then allows grouping those selected sales by product, for example. While the above example describes a framework wherein sales measure data has customer data and product data dimensions, such a selected set of data may be referred to herein, according to another framework, as data in a sales dimension with customer and product “dimension hierarchies,” or simply “hierarchies” (also referred to as “levels”).